---
title: Supported Formats
---

**Legend**

- ✅: Supported
- ⚡: Supported via workaround
- ⛔: Not in progress
- ⌛️: In progress

Below is a list of currently supported (or planned) formats and integrations.

- **Web Support**: Support status for the web version.
- **CLI Support**: Support status for the CLI version. ⚡ indicates support through workarounds (e.g., using pg_dump or tbls).
- **Identifier**: Used for specifying the format in the CLI (via `--format=postgresql`) or as a web query parameter (e.g., `?format=schemarb`).

| Technology                                              | Web Support | CLI Support | Identifier   |
| ------------------------------------------------------- | ----------- | ----------- | ------------ |
| [PostgreSQL](/docs/parser/supported-formats/postgresql) | ✅          | ✅          | `postgresql` |
| [Ruby on Rails](/docs/parser/supported-formats/rails)   | ✅          | ✅          | `schemarb`   |
| [Prisma](/docs/parser/supported-formats/prisma)         | ✅          | ✅          | `prisma`     |
| [tbls](/docs/parser/supported-formats/tbls)             | ✅          | ✅          | `tbls`       |
| [Drizzle](/docs/parser/supported-formats/drizzle)       | ✅          | ✅          | `drizzle`    |
| [MySQL](/docs/parser/supported-formats/mysql)           | ⛔          | ⚡          | -            |
| [SQLite](/docs/parser/supported-formats/sqlite)         | ⛔          | ⚡          | -            |
| [BigQuery](/docs/parser/supported-formats/bigquery)     | ⛔          | ⚡          | -            |

For CLI support marked with ⚡, you can use the following workarounds:

- Generate a PostgreSQL file using pg_dump ([see instructions](/docs/parser/supported-formats/postgresql#using-a-pg_dump-generated-sql-file)), then process it with the `postgresql` format
- Generate a schema.json using tbls ([see instructions](/docs/parser/supported-formats/tbls#using-tbls-json-output)), then process it with the `tbls` format

## Format Auto-Detection

Liam ERD automatically attempts to determine the schema format for both Web and CLI versions. The detection process works as follows:

- **File Name Check**: Filenames such as `schema.rb` or `Schemafile` are assumed to be in **`schemarb`** format.
- **File Extension Check**: Files ending in **`.rb`** are treated as **`schemarb`**, while files ending in **`.sql`** are treated as **`postgresql`**.
- For more details, refer to the [`detectFormat.ts`](https://github.com/liam-hq/liam/blob/main/frontend/packages/schema/src/parser/supportedFormat/detectFormat.ts) file in our GitHub repository.

If the automatic detection does not match your desired format, you can specify it manually:
- **Web**: Use the `format` query parameter (e.g., `?format=schemarb`)
- **CLI**: Use the `--format` option (e.g., `--format=schemarb`)

If there's another database schema or ORM you'd love to see supported, please let us know in the [GitHub Discussions](https://github.com/liam-hq/liam/discussions/364).
